<?php
namespace view;

class NewUserView {
    public $m_newUserStatusMessage ="";
    private $m_username = "";
    private $applicationModel;


    /**
    * __constructor
    */
    public function __construct() {
        $this->applicationModel = new \model\ApplicationModel();
    }


    /**
    * @return boolean
    *
    * här kollas om användaren klickat på registera ny användare
    */
    public function wantsToRegisterNewUser() {
        if (isset($_GET[$this->applicationModel->m_registerURL])) {		// om 'register' finns i den get arrayen så retunerar den true, om man klickat på registrera länken strängberoende till HTMLView
            return true;
        } else {
                return false;
        }
    }


    /**
    * @return boolean
    *
    * här kollas om användaren matat in knappat in användaruppgifter för en ny användare
    */
    public function userHasRegisterInput() {
        if (isset($_POST[$this->applicationModel->m_postNewUsername])) {     // om 'register' finns i den get arrayen så retunerar den true, om man klickat på registrera länken strängberoende till HTMLView
            return true;
        } else {
                return false;
        }
    }


    /**
    * @return array
     *
     * här returneras uppgifterna om den nya användaren
     */
    public function returnNewUserInput() {
       $username = $_POST[$this->applicationModel->m_postNewUsername];
       $password = $_POST[$this->applicationModel->m_postNewPassword];
       $password2 = $_POST[$this->applicationModel->m_postNewRetypedPassword];
       return array ($username, $password, $password2) ;
    }


    /**
    * @param string $username
    *
    * här sätts det registrarde namnet i vår privata medlemsvariabel
    */
    public function setRegisteredNewUserName($username) {
       $this->m_username = $username;
    }


    /**
    * @return string
    *
    * här returnerar vi det nyregistrerade användarnamnet från vår privata medlemsvariabel
    */
    public function returnRegisteredNewUserName() {
            return $this->m_username;
    }


    /**
    * @param string $statusCode
    *
    * här sätter vi statusmeddelandet som användaren får om man tex fyllt i ett felaktigt användarnamn
    */
    public function setRegisteredNewUsernameStatusMessage($statusCode) {

        if($statusCode==1) {
            $statusMessage =  "Your username must have at least 3 characters!" ;

        } else if ($statusCode==2) {
                $statusMessage =  "<br>Your Password must have at least 6 characters!" ;

        } else if ($statusCode==3) {
                $statusMessage =  "<br>Password does not match!" ;

        } else if ($statusCode==4) {
                $statusMessage =  "Username Already taken!" ;

        }  else if ($statusCode==5) {
                $statusMessage =  "Your Password must have at least 6 characters!" ;

        }  else if ($statusCode==6) {
                $statusMessage =  "Password does not match!" ;

        } else if ($statusCode==7) {
                $statusMessage =  "Your username contains invalid characters! <br>Invalid characters have been removed." ;

        }  else {
             $statusMessage =  "";
        }

        $this->m_newUserStatusMessage .= $statusMessage;
    }


    /**
    * @return string
    *
    * här returnerar vi statusmeddelandet som användaren får upp
    *
    */
    public function returnRegisteredNewUserNameStatusMessage() {
            return $this->m_newUserStatusMessage;
    }


}

